### プロジェクト15 レスポンダー **1. 説明** このプログラム可能なレスポンダーは、Arduino開発ボードと複数のボタンを通じて信号を入力・受信し、LEDを使って回答の正誤を判定します。学生の反応能力を鍛え、質問への注意を引きつける良い教材です。正解の場合、回答者は多くの得点を獲得します。 さらに、教師の質問取り扱いを簡素化し、回答の混乱を減らします。学生の学習意欲を刺激することも期待できます。 **2. フローチャート** ![](media/A184.png) **3. 配線図** ![](media/A185.png) **4. テストコード** 1. 2つの基本ブロックをドラッグし、その間に「変数」ブロックを配置します。変数の型をint、名前をitem、初期値を0に設定します。LEDピンを「出力」、ボタンピンを「入力」に設定します。 ![](media/A186.png) 2. 「LED出力」ブロックを追加し、ピンをIO27に設定、出力をHIGHにします。 3. 「if」ブロックをドラッグし、条件に「interface IO19 ボタンが押されたか?」を追加します。 ![](media/A187.png) 4. 「then」内に変数設定と4つのLED出力ブロックを追加します。そのうち変数itemを「0」に設定し、ピン12、13、14、27のすべてのLED出力をLOWにします(レスポンダーはすべてのLEDが消灯しているときのみ動作します)。同様に0.2秒の遅延も忘れずに。 ![](media/A188.png) 5. 「repeat until」ブロックを追加し、「until」を「item = 1」に設定します。itemが1になるとループを抜けます。 ![](media/A189.png) 6. もう一つ「if」ブロックをドラッグし、条件に「Interface IO16 ボタンが押されたか?」を設定します。「then」内に「LED出力」ブロックを追加し、ピンIO12の出力をHIGHに設定します。そして「item変数を1に設定」してこの条件ブロックを抜けます。 ![](media/A190.png) 7. ステップ6を繰り返しますが、インターフェースをIO17、LEDピンをIO13に設定します。 ![](media/A191.png) 8. ステップ6を再度操作しますが、インターフェースをIO18、LEDピンをIO14に設定します。 ![](media/A192.png) **完成コード:** ![](media/A193.png) **5. テスト結果** 配線を接続し、コードをアップロードします。回答者の回答は赤色LEDが消灯(赤ボタンが押されている)時のみ有効です。 誰かが自分のボタン(黄色、緑、青)を押すと、対応するLEDと赤色LEDが点灯します。この状態では他のLEDは点灯しません。再度赤ボタンが押されるまで、回答動作は行えません。 **6. コード説明** 1. 条件ループモジュール。モジュールのひし形ボックス内の条件が満たされると、ループを抜けます。 ![](media/A194.png) 2. 「=」ブロックは2つの値が等しいかどうかを判定します。 ![](media/A195.png)